Sprockets: Safe Extensions for Distributed File Systems
نویسندگان
چکیده
Sprockets are a lightweight method for extending the functionality of distributed file systems. They specifically target file systems implemented at user level and small extensions that can be expressed with up to several hundred lines of code. Each sprocket is akin to a procedure call that runs inside a transaction that is always rolled back on completion, even if sprocket execution succeeds. Sprockets therefore make no persistent changes to file system state; instead, they communicate their result back to the core file system through a restricted format using a shared memory buffer. The file system validates the result and makes any necessary changes if the validations pass. Sprockets use binary instrumentation to ensure that a sprocket can safely execute file system code without making changes to persistent state. We have implemented sprockets that perform typespecific handling within file systems such as querying application metadata, application-specific conflict resolution, and handling custom devices such as digital cameras. Our evaluation shows that sprockets can be up to an order of magnitude faster to execute than extensions that utilize operating system services such as fork. We also show that sprockets allow fine-grained isolation and, thus, can catch some bugs that a fork-based implemen-
منابع مشابه
Operating System Support for Easy Development of Distributed File Systems
A number of new distributed file systems have been developed, but the development of such file systems is not a simple task because it requires the operating system kernel to be modified. We have therefore developed the CAPELA operating system, which makes distributed file systems easy to develop. CAPELA allows the users to develop a file system as an extension module separated from the kernel,...
متن کاملJava Based Distributed File System
There are distributed file systems that are being used in businesses and individuals but still users face various challenges and problems in using those systems. The distributed file system based on Java resolve the difficulties that were occurring in the past systems and provides various functionalities to users such as naming and transparency of files, high scalability, file replication with ...
متن کاملHardening Access Control and Data Protection in GFS-like File Systems
The Google File System (GFS) is a highly distributed, faulttolerant file system designed for large files and high throughput batch processing. We consider the first complete security analysis of GFS systems. We formalize desirable security properties with respect to the successful enforcement of access control mechanisms and data confidentiality by considering a threat model that is much strong...
متن کامل